aboutsummaryrefslogtreecommitdiffstats
path: root/src/routes/(app)/[username]/request/[id]/+page.server.js
diff options
context:
space:
mode:
authorAdam Soltys <[email protected]>2022-11-12 03:31:54 -0800
committerAdam Soltys <[email protected]>2022-11-12 03:31:54 -0800
commit7331eb110b13a6b063ec22176c612cb26940e4bd (patch)
treebebd0627075bc2e27f9a01bfb615914a9e62bdaf /src/routes/(app)/[username]/request/[id]/+page.server.js
parenta52b8873712b679e1156b9ddc4a554384aa3559a (diff)
downloadcoinos-ui-7331eb110b13a6b063ec22176c612cb26940e4bd.tar.gz
coinos-ui-7331eb110b13a6b063ec22176c612cb26940e4bd.zip
requests flow
Diffstat (limited to 'src/routes/(app)/[username]/request/[id]/+page.server.js')
-rw-r--r--src/routes/(app)/[username]/request/[id]/+page.server.js18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/routes/(app)/[username]/request/[id]/+page.server.js b/src/routes/(app)/[username]/request/[id]/+page.server.js
index 79db5d42..99f2e8e2 100644
--- a/src/routes/(app)/[username]/request/[id]/+page.server.js
+++ b/src/routes/(app)/[username]/request/[id]/+page.server.js
@@ -1,3 +1,19 @@
import { auth, get } from '$lib/utils';
+import { redirect } from '@sveltejs/kit';
-export let load = async ({ cookies, params }) => get(`/request/${params.id}`, auth(cookies));
+export let load = async ({ cookies, depends, locals: { user }, params }) => {
+ depends('app:invoice');
+ if (!user) throw redirect(307, '/login');
+
+ let { request } = await get(`/request/${params.id}`, auth(cookies));
+ let { invoice } = request;
+ if (invoice) {
+ let { amount, received, uuid } = invoice;
+ if ((received && !amount) || received >= amount) throw redirect(307, `/send/${uuid}`);
+
+ if (request.requester.username === user.username)
+ throw redirect(307, `/send/${request.invoice.uuid}`);
+ }
+
+ return { request };
+};